﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HA.MT3DMS.DomainLayer;

namespace HA.ModFlow.Controls
{
    public class MTPCPackages:ICloneable
    {
        public MTPCPackages(MT3DMSData mtData)
        {
            //this._mtData = mtData;
            this._advectionEabled = mtData.Advection.Enabled;
            this._chemicalReactionEabled = mtData.ChemicalReaction.Enabled;
            this._dispersionEabled = mtData.Dispersion.Enabled;
            this._ssMixingEabled = mtData.SourceSinkMixing.Enabled;
            //this._transportObserEabled=mtData.
        }

        //MT3DMSData _mtData;


        bool _advectionEabled=false;

        public bool AdvectionEabled
        {
            get { return _advectionEabled; }
            set { _advectionEabled = value; }
        }
        bool _chemicalReactionEabled=false;

        public bool ChemicalReactionEabled
        {
            get { return _chemicalReactionEabled; }
            set { _chemicalReactionEabled = value; }
        }
        bool _dispersionEabled=false;

        public bool DispersionEabled
        {
            get { return _dispersionEabled; }
            set { _dispersionEabled = value; }
        }
        bool _ssMixingEabled=false;

        public bool SsMixingEabled
        {
            get { return _ssMixingEabled; }
            set { _ssMixingEabled = value; }
        }

        //还未包含此包Transport Observation Package
        bool _transportObserEabled=false;

        public bool TransportObserEabled
        {
            get { return _transportObserEabled; }
            set { _transportObserEabled = value; }
        }

        #region  公共方法

        public void ConformToDataCenter(MT3DMSData mtData)
        {
            mtData.Advection.Enabled = AdvectionEabled;
            mtData.ChemicalReaction.Enabled = ChemicalReactionEabled;
            mtData.Dispersion.Enabled = DispersionEabled;
            mtData.SourceSinkMixing.Enabled = SsMixingEabled;
            //this._mtData.
        }
        #endregion
        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }
}
